Mapped Type
https://www.typescriptlang.org/docs/handbook/2/mapped-types.html
typescript 2.1から使える つまり随分前から使える
code:ts
type OptionsFlags<Type> = {
Property in keyof Type: boolean;
};
このようにオブジェクトのkeyとvalueの組を、
keyofでオブジェクトのkeyを取得(ユニオンになる
index signaturesの内側でKey in {ユニオン型}で、ユニオン型をiterateできる
左側のkeyから動的に右側のvalueの型を定められる
これは、Record<Key,Value>などではできなかった